#ifndef __NETWORK_SUBSYSTEM__H
#define __NETWORK_SUBSYSTEM__H
#include <Poco/Util/Subsystem.h>
#include <Poco/SharedPtr.h>
#include <Poco/AutoPtr.h>
#include <Poco/Net/HTTPServer.h>
#include <BaseSubsystem.h>

class ApplicationStartingNotification;
namespace Network
{
class NetworkSubsystem :
	public BaseSubsystem
{
public:
	NetworkSubsystem(void);
	virtual ~NetworkSubsystem(void);

protected:
	virtual const char* name() const {return "Network";}
	virtual void OnStart(Poco::Util::Application& app) ;
	/// Initializes the subsystem.

	virtual void OnStop();

	//void handleApplicationStart(const Poco::AutoPtr<ApplicationStartingNotification>& aNotification);

protected:
	Poco::SharedPtr<Poco::Net::HTTPServer> iRootServer;
	Poco::SharedPtr<Poco::Net::HTTPServer> iRootSSLServer;
};

}
#endif